package cn.gongxi.weibo.pojo.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;


/**
 * @NotNull 表示不能为null
 * @Size 表示长度 min：最小长度 max：最大长度 限制字符串的长度
 * @NotEmpty 表示不能为空
 * @NotBlank 表示不能为空和空格
 * @Range 表示范围 min：最小值 max：最大值  限制数字类型参数的值区
 * @Pattern 表示范式
 */
@Data
public class UserRegDTO {
    // 一定要根据API文档的要求来写属性，名称要和API文档一致

    //@ApiModelProperty 注解 作用：描述属性
    // value：属性的描述 required：是否必须
    // @NotNull 表示不能为null
    @NotNull(message = "用户名不能为null")
    @ApiModelProperty(value = "用户名", required = true,example = "李华")
    private String username;


    @Size(min = 6, max = 16,message = "密码长度在6-16之间")
    @Pattern(regexp = "^[a-zA-Z0-9]{6,16}$",message = "密码由6-16位数字和字母组成")
    @ApiModelProperty(value = "密码", required = true)
    private String password;


    @NotEmpty(message = "昵称不能为空")
    @ApiModelProperty(value = "昵称", required = true)
    private String nickname;
}
